/*! ****************************************************************************
 * \file CommandLineParser.h
 * \brief
 *
 ******************************************************************************/

#ifndef COMMAND_LINE_PARSER_H
#define COMMAND_LINE_PARSER_H

//==============================================================================
//
//    I N C L U D E S
//
//==============================================================================

#include <string>
#include "Converter.h"
#include "Parser.h"

namespace tsc
{
namespace common
{

//==============================================================================
//
//    C L A S S
//
//==============================================================================

class CommandLineParser : public Parser
{
public:
  CommandLineParser(int aArgCount, const char** aArgVector);
  virtual ~CommandLineParser();

  const char* getBinaryName();
protected:
  void parseCommandLine() throw(std::ios_base::failure);

private:
  std::string  mBinaryName;
  int          mArgCount;
  const char** mArgVector;
};

} // namespace common
} // namespace tsc

#endif // COMMAND_LINE_PARSER_H
